

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script type="text/javascript" src="helpman_topicinit.js"></script>

<title>Object Flows in Activity Diagrams [Enterprise Architect User Guide]</title>

<meta name="keywords" content="Enterprise Architect, Sparx Systems, UML, Object Flow,Object Flow In Activity Diagram,Object Flow Simple,Object Flow With Action Pins,Object Flow Multiple,Object Flow Selection Behavior,Object Flow Transformation Behavior,Activity Diagram,Activity Diagram Object Flows">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />

<link type="text/css" href="default.css" rel="stylesheet" />
<style type="text/css">
  A, A:Visited
  {
    color: #00F;
  }

  A:Active, A:Hover
  {
    color: #F00;
  }

  OL
  {
    margin: 5px 0 5px 48px;
  }

  UL
  {
    margin-bottom: 3px;
    margin-top: 0;
  }

  #nsr
  {
    background-color: #D4DFFF;
  }

  #nsr A
  {
    text-decoration: none;
  }

  #mainbody
  {
    padding: 8px;
  }

  .p_BodyText
  {
    padding: 5px 0;
  }
</style>



<style type="text/css" media="screen">
  BODY
  {
    background-color: #FFFFFF;
  }

  #nsr
  {
    padding: 6px 6px 0 6px;
    border-bottom: none;
    vertical-align: top;
    z-index: 2;
    visibility: visible;
    left: 0;
    top: 0;
    position: absolute;
  }

  #mainbody
  {
    left: 0;
    top: 0;
    margin: 0;
    position: absolute;
    padding: 10px;
    overflow: auto;
    height: 100%;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-attachment: fixed;
  }
</style>

<style type="text/css" media="print">
  #nsr
  {
    visibility: none;
  }

  #mainbody
  {
    overflow: visible;
  }
</style>
<script type="text/javascript" language="JavaScript" src="nonscroll.js"></script>

</head>
<body scroll="no">

<div id="page">



        <div id="content">
          <div id="content-inner">
          



  
          <div id="nsr">
            <table border="0" cellspacing="0" cellpadding="4" width="100%">
              <tr valign="top">
                <td align="left">
  


                  <p class="p_Heading1"><span class="f_Heading1">Object Flows in Activity Diagrams</span></p>



  
                </td>
                <td align="right">
                  <a href="introduction.htm" onmouseover="document.images.main.src='button_main_h.gif'" onmouseout="document.images.main.src='button_main.gif'">
                    <img name="main" src="button_main.gif" border=0 alt="Return to Introduction">
                  </a>&nbsp;
    
                  <a href="objectflow.htm" onmouseover="document.images.prev.src='button_prev_h.gif'" onmouseout="document.images.prev.src='button_prev.gif'">
                    <img name=prev src="button_prev.gif" border=0 alt="Previous page" />
                  </a>&nbsp;
    
    
    
                  <a href="occurrence.htm" onmouseover="document.images.next.src='button_next_h.gif'" onmouseout="document.images.next.src='button_next.gif'">
                    <img name=next src="button_next.gif" border=0 alt="Next page" />
                  </a>
    
    
                </td>
              </tr>
            </table>
          </div>
          <div id="mainbody">
  


                <p class="p_BodyText"><span class="f_BodyText">In <a href="activitydiagram.htm">Activity diagrams</a>, there are several ways to define the flow of data between objects.</span></p>
<p class="p_BodyText"><span class="f_BodyText">The following diagram depicts a simple </span><span class="f_BodyText" style="font-style: italic;"><a href="objectflow.htm">Object Flow</a></span><span class="f_BodyText"> between two actions, </span><span class="f_BodyText" style="font-style: italic;">Fill Order</span><span class="f_BodyText"> and </span><span class="f_BodyText" style="font-style: italic;">Ship Order</span><span class="f_BodyText">, both accessing order information.</span></p>
<p class="p_TextIndentedL2"><img src="activity%20-%20objectflow1.png" width="461" height="73" border="0" alt="Activity - ObjectFlow1"></p>
<p class="p_BodyText"><span class="f_BodyText">See </span><span class="f_BodyText" style="font-style: italic;">UML Superstructure Specification, v2.1.1, figure 12.110, p. 391</span><span class="f_BodyText">.</span></p>
<p class="p_BodyText"><span class="f_BodyText">This explicit portrayal of the data object </span><span class="f_BodyText" style="font-style: italic;">Order</span><span class="f_BodyText">, connected to the Activities by two Object Flows, can be refined by using the following format. Here, <a href="actionpin.htm">Action Pins</a> are used to reflect the order.</span></p>
<p class="p_TextIndentedL2"><img src="activity%20-%20objectflow2.png" width="402" height="67" border="0" alt="Activity - ObjectFlow2"></p>
<p class="p_BodyText"><span class="f_BodyText">See </span><span class="f_BodyText" style="font-style: italic;">UML Superstructure Specification, v2.1.1, figure 12.110, p. 391</span><span class="f_BodyText">.</span></p>
<p class="p_BodyText"><span class="f_BodyText">The following diagram is an example of multiple Object Flows exchanging data between two actions.</span></p>
<p class="p_TextIndentedL2"><img src="activity%20-%20objectflow4.png" width="523" height="117" border="0" alt="Activity - ObjectFlow4"></p>
<p class="p_BodyText"><span class="f_BodyText">See </span><span class="f_BodyText" style="font-style: italic;">UML Superstructure Specification, v2.1.1, figure 12.111, p. 391</span><span class="f_BodyText">.</span></p>
<p class="p_BodyText"><span class="f_BodyText">Selection and transformation behavior, together composing a sort of query, can specify the nature of the Object Flow's data access. Selection behavior determines which objects are affected by the connection. Transformation behavior might then further specify the value of an attribute pertaining to a selected object.</span></p>
<p class="p_BodyText"><span class="f_BodyText">Selection and transformation behaviors can be defined by attaching a note to the Object Flow. To do this, right-click on the Object Flow and select the </span><span class="f_MenuKeyField">Attach Note or Constraint</span><span class="f_BodyText"> context menu option. A dialog lists other flows in the diagram, to which you can select to attach the note, if the behavior applies to multiple flows. To comply with UML 2, preface the behavior with the notation &laquo;selection&raquo; or &laquo;transformation&raquo;.</span></p>
<p class="p_TextIndentedL2"><img src="activity%20-%20objectflow3.png" width="449" height="165" border="0" alt="Activity - ObjectFlow3"></p>
<p class="p_BodyText"><span class="f_BodyText">See </span><span class="f_BodyText" style="font-style: italic;">UML Superstructure Specification, v2.1.1, figure 12.112, p. 392</span><span class="f_BodyText">.</span></p>




            </div>
          </div>
        </div>



</div>


</body>
</html>
